const { app, powerMonitor , powerSaveBlocker} = require('electron')

setInterval(()=>{
    // 返回以秒为单位的空闲时间
    console.log('系统空闲状态',powerMonitor.getSystemIdleTime())
},3000)

app.whenReady().then(()=>{
    // 监听电脑接入电源
    powerMonitor.on('on-ac',(...args)=>{
        console.log('',args)
    })

    // 监听电池放电状态
    powerMonitor.on('on-battery',(...args)=>{
        console.log('',args)
    })
    // 是否使用电池供电
    console.log('是否正在使用电池电量', powerMonitor.onBatteryPower())
    console.log('是否正在使用电池电量', powerMonitor.isOnBatteryPower())

    // 监听电脑锁屏
    powerMonitor.on('lock-screen',() => {
        console.log('电脑锁屏')
    })
    // 监听电脑解屏
    powerMonitor.on('lock-unscreen',() => {
        console.log('电脑解屏')
    })

    // 监听系统休眠
    powerMonitor.on('suspend',()=>{
        console.log('系统休眠')
    })
    // 监听系统休眠唤醒
    powerMonitor.on('resume',()=>{
        console.log('系统休眠唤醒')
    })

    // 监听系统关机
    powerMonitor.on('shutdown',(e)=>{
        // 延迟关机
        e.preventDefault()
    })

    // 阻止系统进入sleep 或suspension
    const id = powerSaveBlocker.start('prevent-display-sleep')
    console.log(powerSaveBlocker.isStarted(id),'开启powerSaveBlocker')
    setTimeout(()=>{
        powerSaveBlocker.stop(id)
        console.log(powerSaveBlocker.isStarted(id),'关闭powerSaveBlocker')
    },5000)
})